import moment from 'dayjs';
import idCard from 'idcard'

/**
 * 时间格式化到分钟
 * @param {*} value 
 */
export function formatDateTime(value) {
  if (value) {
    let year = moment(value).format('YYYY');
    let curYear = moment().format("YYYY");
    // 如果年份等于当前年份则不显示年份
    if (year === curYear) {
      return moment(value).format('MM月DD日 HH:mm');
    } else {
      return moment(value).format('YYYY年MM月DD日 HH:mm');
    }
  }
}
/**
 * 时间格式化到分钟
 * @param {*} value 
 */
export function formatDate(value) {
  if (value) {
    let year = moment(value).format('YYYY');
    let curYear = moment().format("YYYY");
    // 如果年份等于当前年份则不显示年份
    if (year === curYear) {
      return moment(value).format('MM月DD日');
    } else {
      return moment(value).format('YYYY年MM月DD日');
    }
  }
}

/**
 * 判断操作系统类型
 */
 export function detectOS() {
  var u = navigator.userAgent;
  //  app = navigator.appVersion;
  var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
  var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  if (isAndroid) {
    return 'Android';
  }
  if (isIOS) {
    return 'Ios';
  }
  return 'other'
}

/**-- 判断是否在微信浏览器中打开 --**/
export function is_weixn() {
  var ua = navigator.userAgent.toLowerCase();
  if (ua.match(/MicroMessenger/i) == "micromessenger") {
    return true;
  } else {
    return false;
  }
}

/**
 * 验证手机号
 */
export function testPhone(phone) {
  let reg = /^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\d{8}$/
  return reg.test(phone)
}


/**
 * 验证身份证号
 */
// export function testIdCard(idCard) {
//   let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
//   return reg.test(idCard)
// }

export function testIdCard(value) {
  return idCard.verify(value)
}

/**
 * 验证用户名
 */
export function testUserName(userName) {
  // let reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,14}$/;
  let reg = /^[0-9a-z]{6,24}$/;
  return reg.test(userName)
}

/**
 * 验证密码
 */
export function testPassWord(password) {
  let reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/;
  return reg.test(password)
}

// 生成32位随机数
export function gen32RandNum() {
  var chars = [
    '0',
    '1',
    '2',
    '3',
    '4',
    '5',
    '6',
    '7',
    '8',
    '9',
    'A',
    'B',
    'C',
    'D',
    'E',
    'F',
    'G',
    'H',
    'I',
    'J',
    'K',
    'L',
    'M',
    'N',
    'O',
    'P',
    'Q',
    'R',
    'S',
    'T',
    'U',
    'V',
    'W',
    'X',
    'Y',
    'Z',
    'a',
    'b',
    'c',
    'd',
    'e',
    'f',
    'g',
    'h',
    'i',
    'j',
    'k',
    'l',
    'm',
    'n',
    'o',
    'p',
    'q',
    'r',
    's',
    't',
    'u',
    'v',
    'w',
    'x',
    'y',
    'z'
  ]
  var nums = ''
  for (var i = 0; i < 32; i++) {
    var id = parseInt(Math.random() * 61)
    nums += chars[id]
  }
  return nums
}